package com.sunday.fangdaifu.common;

import android.app.ProgressDialog;

import com.sunday.common.volley.Request;

import java.lang.reflect.Type;
import java.util.List;

import static android.R.attr.id;


/**
 *
 */
public interface ApiService {


    /**
     * 用户登录
     *
     * @param type
     * @param username
     * @param password
     */
    void login(int type,String username, String password,final ApiServiceImpl.HttpResponseInterface response, final Type types);

    /**
     * 发送短信验证码
     *
     * @param mobile
     */
    void sendCode(String mobile,final ApiServiceImpl.HttpResponseInterface response, final Type types);
    /**
     * 验证短信验证码
     *
     * @param mobile
     */
    void checkCode(String mobile,String activeCode,final ApiServiceImpl.HttpResponseInterface response, final Type types);
    /**
     * 设置密码
     *
     * @param userId
     */
    void settingPwd(int userId,String password,final ApiServiceImpl.HttpResponseInterface response, final Type types);
    /**
     * 资讯栏目
     *
     */
    void dateTitle(final ApiServiceImpl.HttpResponseInterface response, final Type types);
    /**
     * 资讯列表
     *
     */
    void dateList(int itemId,int pageNo,int pageSize,final ApiServiceImpl.HttpResponseInterface response, final Type types);
    /**
     * 轮播资讯
     *
     * @param itemId
     */
    void dateBanner(int itemId,final ApiServiceImpl.HttpResponseInterface response, final Type types);
    /**
     * 首页任务列表
     *
     * @param userId
     */
    void indexTask(int userId,final ApiServiceImpl.HttpResponseInterface response, final Type types);

    /**
     * 首页完成数量
     *
     * @param userId
     */
    void indexTaskCount(int userId,final ApiServiceImpl.HttpResponseInterface response, final Type types);
    /**
     * 任务详情
     *
     * @param id
     */
    void taskDetail(int id,final ApiServiceImpl.HttpResponseInterface response, final Type types);
    /**
     * 当天任务信息
     *
     * @param
     */
    void taskList(int userId,int type,int status,int pageNo,int pageSize,final ApiServiceImpl.HttpResponseInterface response, final Type types);

    /**
     * 未完成任务列表
     *
     * @param
     */
    void unFinishTaskList(int userId,int status,int pageNo,int pageSize,final ApiServiceImpl.HttpResponseInterface response, final Type types);


    /**
     * 当天任务统计
     *
     * @param
     */
    void taskCount(int userId,final ApiServiceImpl.HttpResponseInterface response, final Type types);
    /**
     * 历史报告列表
     *
     * @param
     */
    void historyReportList(int houseId,int pageNo,int pageSize,final ApiServiceImpl.HttpResponseInterface response, final Type types);
    /**
     * 历史报告详情
     *
     * @param
     */
    void historyReportDetail(int id,final ApiServiceImpl.HttpResponseInterface response, final Type types);

    /**
     * 扫描二维码 通过房屋Id获取任务Id
     *
     * @param
     */
    void taskId(int userId,int houseId,final ApiServiceImpl.HttpResponseInterface response, final Type types);

    /**
     * 问题部件列表
     *
     * @param
     */
    void getPartsList(final ApiServiceImpl.HttpResponseInterface response, final Type types);

    /**
     * 问题类型列表
     *
     * @param
     */
    void getPartsTypeList(int id,final ApiServiceImpl.HttpResponseInterface response, final Type types);

    /**
     * 问题名称列表
     *
     * @param
     */
    void getProblemList(int id,final ApiServiceImpl.HttpResponseInterface response, final Type types);

    /**
     *开始任务/房屋无问题
     * @param
     */
    void changeTaskStatus(int id,int type,String latitude,String longitude,final ApiServiceImpl.HttpResponseInterface response, final Type types);

    /**
     *上传单张图片
     * @param
     */
    void uploadSingle(String filePath,final ApiServiceImpl.HttpResponseInterface response, final Type types);


    /**
     *上传多张图片
     * @param
     */
    void uploadMulti(List<String> filePaths,final ApiServiceImpl.HttpResponseInterface response, final Type types);


    /**
     *提交报告
     * @param
     */
    void submitReport(int houseId,int detailId,String json,final ApiServiceImpl.HttpResponseInterface response, final Type types);

    /**
     *居民反馈直接回复
     * @param
     */
    void replyDirect(int id,String text,final ApiServiceImpl.HttpResponseInterface response, final Type types);

    //上传图像
    void updateLogo(int userId,String logo,final ApiServiceImpl.HttpResponseInterface response, final Type types);

//1，安卓巡检版本，2，安卓布控版，3，苹果巡检版，4，苹果布控版
    void checkUpdate(int type,int versionCode,final ApiServiceImpl.HttpResponseInterface response,final  Type types);

}